package com.wing.purchase.model.response;

import com.wing.purchase.model.entity.PurchaseDeliveryRecord;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.purchase.model.entity.PurchaseWarehousingPlan;

/**
 * 采购入库计划VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class PurchaseWarehousingPlanVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 采购入库计划编号
     */
    private String planNo;

    /**
     * 供应商发货记录ID
     */
    private Long purchaseDeliveryRecordId;

    /**
     * 状态
     */
    private PurchaseWarehousingPlan.Status status;

    /**
    * 状态描述
    */
    @TableField(exist = false)
    private String statusDesc;

    public String getStatusDesc() {
        return status.getDesc();
    }

    /**
     * 采购单编号
     */
    private String sn;

    /**
     * 供应商名称
     */
    private String corporateName;

    /**
     * 入库SKU数
     */
    private Integer skuNum;

    /**
     * 金额
     */
    private BigDecimal totalAmount;

    /**
     * 运输方式
     */
    private String transportMode;

    /**
     * 运输方式描述
     */
    private String transportModeDesc;

    /**
     * 物流记录编号
     */
    private String logisticsNo;

    /**
     * 运单编号
     */
    private String waybillNo;

    /**
     * 车牌号
     */
    private String plateNo;

    /**
     * 快递单号
     */
    private String courierNo;

    /**
     * 电话
     */
    private String phone;

    /**
     * 供应商联系人
     */
    private String businessContact;

    /**
     * 采购部门
     */
    private String departmentName;

    /**
     * 采购申请人
     */
    private String purchaseApplicant;

    /**
     * 订单审核人
     */
    private String auditorName;

    /**
     * 入库仓库类型
     */
    public Long warehouseType;

    /**
     * 入库仓库类型名称
     */
    public String warehouseTypeName;

    /**
     * 入库仓库
     */
    public Long warehouse;
    /**
     * 入库仓库名称
     */
    public String warehouseName;

}
